// 1，导入mysql包
const mysql = require('mysql');

// 2，创建连接
const con = mysql.createConnection({
  host: '127.0.0.1',
  port: 3306,
  user: 'root',
  password: '1234',
  database: 'blogs' /* 数据库名字记得要改*/,
  timezone: 'SYSTEM',
});

// 3，连接数据库
con.connect();

//提取数据库执行的语句

//提取获取所有的方法
function getAll(sql) {
  return new Promise((resolve, reject) => {
    con.query(sql, function (err, data) {
      //如果有错误，就抛出错误
      if (err) throw reject(err);

      //发送数据
      resolve(data);
    });
  });
}

//提取获取一个的方法
function getById(sql) {
  return new Promise((resolve, reject) => {
    con.query(sql, function (err, data) {
      if (err) throw reject(err);

      resolve(data[0] ? data[0] : null);
    });
  });
}

//提取增删改的方法
function exec(sql) {
  return new Promise((resolve, reject) => {
    con.query(sql, function (err, data) {
      if (err) throw reject(err);
      resolve(data);
    });
  });
}

//导出方法
module.exports = {
  getAll,
  getById,
  exec,
};

//console.log(module);
/** js对象中，属性名和属性值，同名的话，可以简写成一行 */
/**
 * {
  id: 'E:\\0001开发\\day30\\src\\05-express增删改查-抽取数据库操作代码\\03-express-数据库操作代码.js',
  path: 'E:\\0001开发\\day30\\src\\05-express增删改查-抽取数据库操作代码',
  exports: {
    getAll: [Function: getAll],
    getById: [Function: getById],
    exec: [Function: exec]
  },
 */
